
%inline
%{
#include <string>
#include "google/protobuf/io/zero_copy_stream.h"
%}


%include "protobuf_typemaps.i"



namespace google
{
   namespace protobuf
   {
       namespace io
       {


class ZeroCopyInputStream 
{
   public:
      virtual inline ZeroCopyInputStream(); 
      virtual ~ZeroCopyInputStream();
      //virtual bool Next(const void** data, int* size) = 0;
      virtual void BackUp(int count) = 0;
      virtual bool Skip(int count) = 0;
      virtual ::google::protobuf::int64 ByteCount() const = 0;
};

class ZeroCopyOutputStream
{
   public:
      inline ZeroCopyOutputStream(); 
      virtual ~ZeroCopyOutputStream();
      //virtual bool Next(void** data, int* size) = 0;
      virtual void BackUp(int count) = 0;
      virtual ::google::protobuf::int64 ByteCount() const = 0;
};

       }
   }
}
